fix onboarding runtime validation and first-start routing - #444
Conversation
|
分诊(2026-07-29,通信龙):建议保留并 rebase,优先级高。 本 PR 与今天的两个 P0 高度重叠,而且部分工作今天被独立重做了一遍:
当前状态:CONFLICTING / DIRTY,需 rebase 到 这条是「陈旧 PR 腐烂」的活样本:它躺了两周没人合,期间我们从零重新发现并修复了它已经修过的问题。每多躺一天,冲突只会更多,而重复劳动已经发生过一次。 建议:确认 owner → rebase → 走正常复核。若判断已被今天的改动完全覆盖而无需保留,也请明确关闭并说明理由,不要继续挂着腐烂。 |
|
分流结论:实质已落地,只有测试没进来 —— 和 #436 同一形状。不关,归属作者。 逐条核(取自 没进来的只有两个测试文件: 也就是说这三项行为现在靠实现自身正确,没有测试钉住。 归属在你,我不替你关。 |
更正:我上一条给的建议是错的我上一条说「只把这两个测试摘到当前 main 开一个小 PR —— 它们要断言的行为已经存在,应该能直接跑」。 所以那一半根本不可摘,它依赖的是本 PR 的重构(把 cli.ts 的逻辑抽成可测函数)。 另一半我真跑了,结果是 6 pass / 7 fail
7 条不通过的,主要是两类(a) 退出码语义:本 PR 期望 注意 (b) 只列了可选运行时,完全没提 Bun —— 而 所以建议改成
我没有替你动这个 PR。上面的数字都可复跑:worktree 起在 |
|
2026-08-13 maintenance triage: CLOSE AS SUPERSEDED / DO-NOT-MERGE; preserve branch and evidence. The original onboarding concerns have since moved into current-main implementations with different structure: execution boundaries use The branch also remains a broad 10-file historical patch against July main. Any still-reproducible onboarding defect must be filed/reproduced against current main and fixed narrowly; it must not be inferred from this stale branch or solved by merging it wholesale. Immutable head |
What changed
agent-nodelaunch use the existingnpx @sleep2agi/agent-node@previewfallbackhost_supervisordaemon startupagent-sdk+ Codex profile ascodex-sdkcodex-app-serverthroughagent-node, never the Claude launcher, while labeling it preview / production locked__custom__batch inputsWhy
A clean-container onboarding audit found four user-facing failure modes: a hidden Bun prerequisite, an advertised-but-missing first-start runtime path, nodes that appeared online without usable provider credentials, and unsupported runtimes silently launching a different executable. The first correction also overreached by blocking keyless supervisor daemons and missed legacy/batch/CAS branches; this round closes those regressions.
Independent validation
91e0b8554 pass / 0 fail / 120 expectbun test src:146 pass / 0 fail / 283 expectnpm run typecheck: passnpm run build: passgit diff --check: cleanDetailed evidence:
docs/tests/report-onboarding-fixes.txt.Scope and remaining release work
This is a Draft PR and a scoped onboarding corrective pass, not a release approval. Before stable promotion:
@previewtag; it is not a version pinNo merge, deployment, npm publication, or tag change is authorized by this PR.